package com.wx.gof.pattern.behavioral.state;

/**
 * @ClassName VideoState
 * @Author wx
 * @Description 抽象视频状态
 * @Date 2018-12-16-20:54
 */
public abstract class VideoState {
    protected VideoStateContext videoStateContext;

    public void setVideoStateContext(VideoStateContext videoStateContext) {
        this.videoStateContext = videoStateContext;
    }

    /**
     * @methodName: start
     * @author: wx
     * @description: 视频状态-开始
     * @param
     * @date: 2018/12/16
     * @return: void
     */
    abstract void start();

    /**
     * @methodName: suspend
     * @author: wx
     * @description: 视频状态-暂停
     * @param
     * @date: 2018/12/16
     * @return: void
     */
    abstract void suspend();
    /**
     * @methodName: speed
     * @author: wx
     * @description: 视频状态-快进
     * @param
     * @date: 2018/12/16
     * @return: void
     */
    abstract void speed();

    /**
     * @methodName: stop
     * @author: wx
     * @description: 视频状态-停止
     * @param
     * @date: 2018/12/16
     * @return: void
     */
    abstract void stop();
}
